package org.dromara.system.domain.vo;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.system.domain.SkyPunishment;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 行政处罚视图对象 sky_punishment
 *
 * @author Lion Li
 * @date 2024-09-20
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = SkyPunishment.class)
public class SkyPunishmentVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private Long id;

    /**
     * 处罚单位
     */
    @ExcelProperty(value = "处罚单位")
    private String departmentName;

    /**
     * 处罚事由/违法行为类型
     */
    @ExcelProperty(value = "处罚事由/违法行为类型")
    private String reason;

    /**
     * 处罚依据（source=信用中国时返回数据）
     */
    @ExcelProperty(value = "处罚依据", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "s=ource=信用中国时返回数据")
    private String evidence;

    /**
     * 处罚状态（source=信用中国时返回数据）
     */
    @ExcelProperty(value = "处罚状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "s=ource=信用中国时返回数据")
    private String punishStatus;

    /**
     * 处罚日期
     */
    @ExcelProperty(value = "处罚日期")
    private Date decisionDate;

    /**
     * 处罚结果/内容
     */
    @ExcelProperty(value = "处罚结果/内容")
    private String content;

    /**
     * 数据来源
     */
    @ExcelProperty(value = "数据来源")
    private String source;

    /**
     * 法定代表人（source=国家市场监督管理总局时返回数据）
     */
    @ExcelProperty(value = "法定代表人", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "s=ource=国家市场监督管理总局时返回数据")
    private String legalPersonName;

    /**
     * 处罚类别1（source=信用中国时返回数据）
     */
    @ExcelProperty(value = "处罚类别1", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "s=ource=信用中国时返回数据")
    private String type;

    /**
     * 处罚类别2（source=信用中国时返回数据）
     */
    @ExcelProperty(value = "处罚类别2", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "s=ource=信用中国时返回数据")
    private String typeSecond;

    /**
     * 处罚名称（source=信用中国时返回数据）
     */
    @ExcelProperty(value = "处罚名称", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "s=ource=信用中国时返回数据")
    private String punishName;

    /**
     * 决定文书号
     */
    @ExcelProperty(value = "决定文书号")
    private String punishNumber;

    /**
     * 备注（source=国家市场监督管理总局时返回数据）
     */
    @ExcelProperty(value = "备注", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "s=ource=国家市场监督管理总局时返回数据")
    private String remark;

    private String companyName;

    private String bagName;
}
